package com.annotation.bean;

import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.stereotype.Component;

/**
 *
 *  p16 讲解 BeanPostProcessor 后置处理器的原理
 * 后置处理 ：初始化前后进行工作  本质上相当于一个切面   每个bean创建之前调用postProcessBeforeInitialization() 方法   ，
 *   bean创建之后调用postProcessAfterInitialization()方法
 */
@Component
public class MyBeanPostProcesser implements BeanPostProcessor {



    @Override
    public Object postProcessBeforeInitialization(Object bean, String beanName)  {

        System.out.println("IOC容器在注入("+beanName+")时候， MyBeanPostProcesser 的 postProcessBeforeInitialization开始工作");
        return bean;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName)  {
        System.out.println("IOC容器在注入("+beanName+")时候， MyBeanPostProcesser 的 postProcessAfterInitialization开始工作");
        return bean;
    }
}
